package chapter06

/**
  * 特质的叠加:
  *
  */
object Test15_TraitOverlying {

  def main(args: Array[String]): Unit = {
    val person1 = new Person11

    // 输出的是最后一个特质的方法
    person1.sayHello()

  }
}

class Person11 extends Person2 with Person3{
  override def sayHello(): Unit ={
    //默认调最右边的特质的方法
    super.sayHello()
    // 指定调用父类的方法
    //super[Person2].sayHello()
  }
}

class Person2{
  def sayHello(): Unit ={
    print("Person2")
  }
}

trait Person3{
  def sayHello(): Unit ={
    print("Person3")
  }
}
